/*!
  \file
  Implementation of invert image for the GPU
*/

#ifndef INVERT_IMAGE_HHV_GPU_HPP
#define INVERT_IMAGE_HHV_GPU_HPP

#include "hhvolume.hpp"
#include "hhvgpu.hpp"
#include "invertimage.hpp"

class InvertImageGPU : public InvertImage {
public:
  virtual void Invert( SciGPU::HHV::HHVolume<long,2>& dst,
                       const SciGPU::HHV::HHVolume<long,2>& src ) const;

private:
  void Inverter( SciGPU::HHV::HHVolumeGPU<long,2>& dst,
                 const SciGPU::HHV::HHVolumeGPU<long,2>& src ) const;
  

};


#endif
